/*
 * Processor.java
 *
 * Created on July 15, 2006, 12:55 PM
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package net.anzix.jimposition;

import java.util.Map;
import javax.swing.JPanel;
/**
 * main interface to the Transformations (=filters)
 *
 **/
public interface Transformation {
    /**
     *get unique plugin id
     **/
    public String getId();
    /**
     *process a pdf file to an other
     **/
    byte[] alter(byte[] input);
    /**
     * get settings Swing panel
     *
     **/
    public JPanel getPanel();
    /**
     * get filter attribute
     **/
    public Object getAttribute(String key);
    /**
     *setting filter attribute
     *
     **/
    public void setAttribute(String key,Object o);
    /**
     * transfer settings to the swing settings panel
     *
     **/
    public void setPanelSettings();
    /**
     * get settings from the panel and store it in the attributes collection
     **/
    public void getPanelSettings();
    
}
